package org.jfrog.hudson.pipeline.dsl; import groovy.lang.Binding; import hudson.Extension; import org.jenkinsci.plugins.workflow.cps.CpsScript; import org.jenkinsci.plugins.workflow.cps.GlobalVariable; import javax.annotation.Nonnull; /** * Created by Tamirh on 17/05/2016. */ @Extension public class ArtifactoryDSL extends GlobalVariable { @Nonnull @Override public String getName() { return "Artifactory"; } @Nonnull @Override public Object getValue(@Nonnull CpsScript cpsScript) throws Exception { Binding binding = cpsScript.getBinding(); Object artifactory; if (binding.hasVariable(getName())) { artifactory = binding.getVariable(getName()); } else { artifactory = new ArtifactoryPipelineGlobal(cpsScript); binding.setVariable(getName(), artifactory); } return artifactory; } }